/**
 * @description 千分位格式化
 * @author 李子一
 */

/**
 * 千分位格式化,数组
 * @param n number
 */
export function format1(n: number): string {
	n = Math.floor(n)

	const s = n.toString()
	const arr = s.split('').reverse()
	return arr.reduce((prev, val, index) => {
		if (index % 3 === 0) {
			if (prev) {
				return val + ',' + prev
			} else {
				return val
			}
		} else {
			return val + prev
		}
	}, '')
}

/**
 * 千分位格式化,字符串
 * @param n number
 */
export function format2(n: number): string {
	n = Math.floor(n)
	const s = n.toString()
	let res = ''

	// 10,020,098
	for (let i = s.length - 1; i >= 0; i--) {
		const j = s.length - i
		if (j % 3 === 0) {
			if (i === 0) {
				res = s[i] + res
			} else {
				res = ',' + s[i] + res
			}
		} else {
			res = s[i] + res
		}
	}

	return res
}

// 功能测试
console.log(format2(10201004050))
